A Refinement Algebra for Object-Oriented Programming

نویسندگان

  • Paulo Borba
  • Augusto Sampaio
  • Márcio Cornélio
چکیده

In this article we introduce a comprehensive set of algebraic laws for rool, a language similar to sequential Java but with a copy semantics. We present a few laws of commands, but focus on the objectoriented features of the language. We show that this set of laws is complete in the sense that it is sufficient to reduce an arbitrary rool program to a normal form expressed in a restricted subset of the rool operators. We also propose a law for data refinement that generalises the technique from traditional modules to class hierarchies. Together, these laws are expressive enough to derive more elaborate rules that can be useful, for example, to formalize object-oriented design practices; this is illustrated through the systematic derivation of a refactoring from the proposed

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey

One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...

متن کامل

Refinement in object-oriented analysis and design

In this report refinement in object-oriented analysis and design is studied. We focus on process aspects of object-oriented designs, in particular protocols. Protocols describe the order of method invocations in a design. Process algebra is used to give semantics to protocols. Hence refinement in process algebra is studied in this report. There are two kinds of refinement in process algebra: or...

متن کامل

Modelsaz: An Object-Oriented Computer-Aided Modeling Environment

Modeling and simulation of processing plants are widely used in industry. Construction of a mathematical model for a plant is a time-consuming and error-prone task. In light of extensive advancements in computer science (both hardware and software), computers are becoming a necessary instrument in industrial activities. Many software tools for modeling, simulation and optimization of proces...

متن کامل

rCOS: A refinement calculus of object systems

This article presents a mathematical characterization of object-oriented concepts by defining an observation-oriented semantics for a relational objectoriented language with a rich variety of features including subtypes, visibility, inheritance, type casting, dynamic binding and polymorphism. The language is expressive enough for the specification of object-oriented designs and programs. We als...

متن کامل

Static Class Elements for Object-Z

Static variables and methods are part of almost every modern object-oriented programming language. Static elements are for instance indispensable for certain kinds of design patterns applied during programming. Object-oriented specification formalisms on the other hand lack such concepts. This can prevent writing formal specifications close to the actual implementation, and can thus hamper a re...

متن کامل

A Refinement Theory for Concurrent Object Oriented Languages

A notion of refinement for concurrent object-oriented programs was originally presented in [3]. ln th.is article we prove that the refinement relation associated to this notion is a congruence with respect to various standard programming language constructors, including parallel and sequential composition, conditionals, and nondeterministic internal choice. We also establish a weaker compositio...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003